home *** CD-ROM | disk | FTP | other *** search
- #ident "$CVSid$"
-
- First, read the README file. If you're still happy...
-
- CVS has been tested on the following platforms. The most recent
- version of CVS reported to have been tested is indicated, but more
- recent versions of CVS probably will work too. Please send updates to
- this list to bug-cvs@prep.ai.mit.edu (doing so in the form of a diff
- to this file is encouraged).
-
- Alpha:
- DEC Alpha running OSF/1 version 1.3 using cc (about 1.4A2)
- DEC Alpha running OSF/1 version 2.0 (1.4.90)
- DEC Alpha running OSF/1 version 2.1 (about 1.4A2)
- DEC Alpha running OSF/1 version 3.0 (1.5.95) (footnote 7)
- DEC Alpha running OSF/1 version 3.2 (1.7+obvious patch)
- HPPA:
- HP 9000/710 running HP-UX 8.07A using gcc (about 1.4A2)
- HP 9000/715 running HP-UX 9.01 (1.6)
- HPPA running HP-UX 10.01 (1.7)
- HPPA 1.1 running HP-UX A.09.03 (1.5.95) (footnote 8)
- HPPA 1.1 running HP-UX A.09.04 (1.7.1)
- NextSTEP 3.3 (1.6.86)
- i386 family:
- Solaris 2.4 using gcc (about 1.4A2)
- UnixWare v1.1.1 using gcc (about 1.4A2)
- ISC 4.0.1 (1.5.94)
- Linux (kernel 1.2.x) (1.7.1)
- BSDI 2.0 (1.4.93) (footnote 5)
- FreeBSD 2.0.5, i486, gcc (1.5.95)
- NextSTEP 3.3 (1.6.86)
- NeXTSTEP 3.3 (1.7), (footnote 10)
- SCO Unix 3.2.4.2 (1.4.93) (footnote 4)
- SCO OpenServer 5.0.0, "CC='cc -b elf' configure"
- Lynx 2.3.0 080695 (1.6.86) (footnote 9)
- Windows NT 3.51 (1.7.87 client-only)
- QNX 4 (1.7 + obvious patches)
- OS/2 Version 3 using IBM C/C++ Tools 2.01 (1.7.86 with patches)
- m68k:
- Sun 3 running SunOS 4.1.1_U1 w/ bundled K&R /usr/5bin/cc (1.6)
- NextSTEP 3.3 (1.6.86)
- NeXTSTEP 3.3 (1.7), (footnote 10)
- Lynx 2.3.0 062695 (1.6.86) (footnote 9)
- m88k:
- Data General AViiON running dgux 5.4R2.10 (1.5)
- Data General AViiON running dgux 5.4R3.10 (1.7.1)
- Harris Nighthawk 5800 running CX/UX 7.1 (1.5) (footnote 6)
- MIPS:
- DECstation running Ultrix 4.2a (1.4.90)
- DECstation running Ultrix 4.3 (1.6.86)
- SGI running Irix 4.0.5H using gcc and cc (about 1.4A2) (footnote 2)
- SGI running Irix 5.3 (1.7)
- SGI running Irix-6 (about 1.4.90) (footnote 3)
- Siemens-Nixdorf RM600 running SINIX-Y (1.6)
- PowerPC or RS/6000:
- IBM RS/6000 running AIX 3.1 using gcc and cc (1.6.86)
- IBM RS/6000 running AIX 3.2.5 (1.7.87)
- IBM RS/6000 running AIX 4.1 using gcc and cc (about 1.4A2) (footnote 1)
- Lynx 2.3.1 120495 (1.6.86) (footnote 9)
- SPARC:
- Sun SPARC running SunOS 4.1.x (1.6.86)
- Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2)
- Sun SPARCstation running Solaris 2.4 using gcc and cc (about 1.5.91)
- Sun SPARC running Solaris 2.5 (2.5 beta?) (1.6.4)
- NextSTEP 3.3 (1.6.86)
- NeXTSTEP 3.3 (1.7), (footnote 10)
-
- (footnote 1)
- AIX 4.1 systems fail to run "configure" due to bugs in their
- "/bin/sh" implementation. You might want to try feeding the
- configure script to "bash" ported to AIX 4.1. (about 1.4A2).
-
- (footnote 2)
- Some Irix 4.0 systems may core dump in malloc while running
- CVS. We believe this is a bug in the Irix malloc. You can
- workaround this bug by linking with "-lmalloc" if necessary.
- (about 1.4A2).
-
- (footnote 3)
- There are some warnings about pointer casts which can safely be
- ignored. (about 1.4.90).
-
- (footnote 4) Comment out the include of sys/time.h in src/server.c. (1.4.93)
- You also may have to make sure TIME_WITH_SYS_TIME is undef'ed.
-
- (footnote 5) Change /usr/tmp to /var/tmp in src/server.c (2 places) (1.4.93).
-
- (footnote 6) Build in ucb universe with COFF compiler tools. Put
- /usr/local/bin first in PATH while doing a configure, make
- and install of GNU diffutils-2.7, rcs-5.7, then cvs-1.5.
-
- (footnote 7) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports
- success with this configure command:
- CC=cc CFLAGS='-O2 -Olimit 2000 -std1' ./configure --verbose alpha-dec-osf
-
- (footnote 8) Manoj Srivastava <srivasta@pilgrim.umass.edu> reports
- success with this configure command:
- CC=cc CFLAGS='+O2 -Aa -D_HPUX_SOURCE' ./configure --verbose hppa1.1-hp-hpux
-
- (footnote 9)
- Had to configure with ./configure --host=<arch>-lynx.
-
- In src/cvs.h, protected the waitpid prototype with ifdef _POSIX_SOURCE.
- (I might try building with gcc -mposix -D_POSIX_SOURCE.)
-
- LynxOS has <dirent.h>, but you don't want to use it.
- You want to use <sys/dir.h> instead.
- So after running configure I had to undef HAVE_DIRENT_H and
- define HAVE_SYS_DIR_H.
-
- (footnote 10) Ralf E. Stranzenbach <ralf@reswi.ruhr.de>
- I've made some modifications to "filesubr.c" to deal with NFS
- mounted directories (and those funny .nfs* files). This patch
- should be used whenever the programmers "sandbox" is located on
- a NFS mounted device --- at least on NeXTSTEP.
-
- -------------------------------------------------------------------------------
-
- Installation under Unix:
-
- 1) Run "configure":
-
- $ ./configure
-
- You can specify an alternate destination to override the default with
- the --prefix option:
-
- $ ./configure --prefix=/usr/local/gnu
-
- or some path that is more appropriate for your site. The default prefix
- value is "/usr/local", with binaries in sub-directory "bin", manual
- pages in sub-directory "man", and libraries in sub-directory "lib".
-
- If you are using server or local CVS, RCS needs to be installed in
- the user's PATH (or a path you have configured in src/options.h,
- or a path specified with the -b option). If you don't have RCS,
- you will need to get it from GNU as well. It is best to get the
- version 5.7 (or later) version of RCS, available from
- prep.ai.mit.edu in the file pub/gnu/rcs-5.7.tar.gz.
-
- If you want version control of files with binary data, make sure
- that the RCS configure script finds GNU diff 1.15 or later and
- notices that diff supports the -a option. CVS itself is much less
- picky about which version of diff it uses, and you shouldn't need
- to worry about that.
-
- NOTE: The configure program will cache the results of the previous
- configure execution. If you need to re-run configure from scratch, you
- may need to run "make distclean" first to remove the cached
- configuration information.
-
- If you are using gcc and are planning to modify CVS, you may want to
- configure with -Wall; see the file HACKING for details.
-
- Try './configure --help' for further information on its usage.
-
- NOTE ON CVS's USE OF NDBM:
-
- By default, CVS uses some built-in ndbm emulation code to allow
- CVS to work in a heterogeneous environment. However, if you have
- a very large modules database, this may not work well. You will
- need to edit src/options.h to turn off the MY_NDBM #define and
- re-run configure. If you do this, the following comments apply.
- If not, you may safely skip these comments.
-
- If you configure CVS to use the real ndbm(3) libraries and
- you do not have them installed in a "normal" place, you will
- probably want to get the GNU version of ndbm (gdbm) and install
- that before running the CVS configure script. Be aware that the
- GDBM 1.5 release does NOT install the <ndbm.h> header file included
- with the release automatically. You may have to install it by hand.
-
- If you configure CVS to use the ndbm(3) libraries, you cannot
- compile CVS with GNU cc (gcc) on Sun-4 SPARC systems. However, gcc
- 2.0 may have fixed this limitation if -fpcc-struct-return is
- defined. When using gcc on other systems to compile CVS, you *may*
- need to specify the -fpcc-struct-return option to gcc (you will
- *know* you have to if "cvs checkout" core dumps in some ndbm
- function). You can do this as follows:
-
- $ CC='gcc -fpcc-struct-return' ./configure
-
- for sh, bash, and ksh users and:
-
- % setenv CC 'gcc -fpcc-struct-return'
- % ./configure
-
- for csh and tcsh users.
-
- END OF NOTE FOR NDBM GUNK.
-
- 2) Edit src/options.h. Appropriate things to look at may be the
- invocation locations of programs like DIFF and GREP.
- Also glance at the default values for the environment variables
- that CVS uses, in particular, the RCSBIN variable, which holds the
- path to where the RCS programs live on your system.
-
- 3) Try to build it:
-
- $ make
-
- This will (hopefully) make the needed CVS binaries within the
- "src" directory. If something fails for your system, and you want
- to submit a bug report, you may wish to include your
- "config.status" file, your host type, operating system and
- compiler information, make output, and anything else you think
- will be helpful.
-
- 3a) Run the regression tests (optional).
-
- You may also wish to validate the correctness of the new binary by
- running the regression tests:
-
- $ make check
-
- Note that if your /bin/sh doesn't support shell functions, you'll
- have to try something like this, where "/bin/sh5" is replaced by the
- pathname of a shell which handles normal shell functions:
-
- $ make SHELL=/bin/sh5 check
-
- WARNING: This test can take quite a while to run, esp. if your
- disks are slow or over-loaded.
-
- If you receive any un-expected output from the regression tests,
- it may indicate a bug in CVS (or might just indicate a problem
- running the tests). If you choose to submit a bug report,
- be aware that, as with all bug reports, you may or may not get a
- response, and your odds might be better if you include enough information
- to reproduce the bug, an analysis of what is going wrong (if you have
- the time and ability to provide one), etc. The check.log file is the
- first place to look.
-
- 4) Install the binaries/documentation:
-
- $ make install
-
- Depending on your installation's configuration, you may need to be
- root to do this.
-
- 5) Take a look at the CVS documentation.
-
- $ man cvs
-
- and
-
- $ info cvs
-
- See what it can do for you, and if it fits your environment (or can
- possibly be made to fit your environment). If things look good,
- continue on...
-
- 6) Set up the master source repository. See the "Setting up the repository"
- section of cvs.texinfo for details; the one-line summary is (if you
- are putting the repository in /src/master):
- $ cvs -d /src/master init
-
- 7) Have all users of the CVS system set the CVSROOT environment
- variable appropriately to reflect the placement of your source
- repository. If the above example is used, the following commands
- can be placed in user's ~/.profile, ~/.bash_profile file; or in the
- site-wide /etc/profile:
-
- CVSROOT=/src/master; export CVSROOT
-
- for sh/bash/ksh users, or place the following commands in the user's
- ~/.cshrc, ~/.login, or /etc/chsrc file:
-
- setenv CVSROOT /src/master
-
- for csh/tcsh users. If these environment variables are not already set
- in your current shell, set them now (or source the login script you
- just edited). You will need to have the CVSROOT environment variable
- set to continue on to the next step.
-
- 8) It might be a good idea to jump right in and put the CVS distribution
- directly under CVS control. From within the top-level directory of the
- CVS distribution (the one that contains this README file) do the
- following commands:
-
- $ make distclean
- $ cvs import -m 'CVS 1.6 distribution' cvs CVS_DIST CVS-1_6
-
- 9) Having done step 8, one should be able to checkout a fresh copy of the
- CVS distribution and hack away at the sources with the following command:
-
- $ cd
- $ cvs checkout cvs
-
- This will make the directory "cvs" in your current directory and
- populate it with the appropriate CVS files and directories.
-
- 10) You may wish to customize the various administrative files, in particular
- modules. See cvs.texinfo for details.
-
- 11) Read the NEWS file to see what's new.
-
- 12) Hack away.
-
- -------------------------------------------------------------------------------
-
- Detailed information about your interaction with "configure":
-
- The "configure" script and its interaction with its options and the
- environment is described here. For more detailed documentation about
- "configure", please refer to the GNU Autoconf documentation.
-
- Supported options are:
-
- --srcdir=DIR Useful for compiling on many different
- machines sharing one source tree.
- --prefix=DIR The root of where to install the
- various pieces of CVS (/usr/local).
- --exec_prefix=DIR If you want executables in a
- host-dependent place and shared
- things in a host-independent place.
-
- The following environment variables override configure's default
- behaviour:
-
- CC If not set, tries to use gcc first,
- then cc. Also tries to use "-g -O"
- as options, backing down to -g
- alone if that doesn't work.
- INSTALL If not set, tries to use "install", then
- "./install-sh" as a final choice.
- RANLIB If not set, tries to determine if "ranlib"
- is available, choosing "echo" if it doesn't
- appear to be.
- YACC If not set, tries to determine if "bison"
- is available, choosing "yacc" if it doesn't
- appear to be.
-
- -------------------------------------------------------------------------------
- Installation under Windows NT:
-
- You may find interesting information in windows-NT/README.
-
- 1) Using Microsoft Visual C++ version 2.1, open the project `cvsnt.mak',
- in the top directory of the CVS distribution.
- 2) Choose "Build cvs.exe" from the "Project" menu.
- 3) MSVC will place the executable file cvs.exe in WinDebug, or whatever
- your target directory is.
- -------------------------------------------------------------------------------
-